export default {
  config: {
    // baseURL 这里可以放自己的接口域名
    baseURL: "https://qwert666.top/api",
    // baseURL: "http://localhost:8080",
    // 请求拦截器
    async beforeRequest(options = {}) {
      try {
        return await new Promise((resolve, reject) => {
          // 请求的地址 = 上面设置的域名加上接口封装的地址
          options.url = this.baseURL + options.url;
          options.method = options.method || "GET"; // 默认使用 GET 请求
          // 添加请求头，例如添加 token
          options.header = {
            token: uni.getStorageSync("Token") || null,
          };
          // 设置超时时间为10秒（10000毫秒）
          options.timeout = options.timeout || 10000;
          resolve(options);
        });
      } catch (err) {
        console.log("拦截器出错了");
        reject(err);
      }
    },
    // 响应拦截器
    async handleResponse(data) {
      // 打印数据，检查 token 等
      const resdata = await data;
      if (resdata?.data?.code === 401) {
        //token过期
        uni.removeStorageSync("Token");
        return uni.reLaunch({ url: "/pageA/login/login" });
      }
      return resdata;
    },
  },
  // request 请求
  async request(options = {}) {
    // 请求前拦截
    const opt = await this.config.beforeRequest(options);
    // 发送请求
    const res = await uni.request(opt);
    // 响应处理
    return this.config.handleResponse(res);
  },
};
